package com.gpframework.module.order.mapper;

import com.gpframework.module.order.domain.GpOrder;
import com.gpframework.module.order.domain.req.GpOrderReq;
import com.gpframework.module.order.domain.vo.GpHomeStatisticsVo;
import com.gpframework.module.order.domain.vo.GpOrderVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.util.List;
/**
 * @ClassName GpOrder
 * @Author gpframework
 * @Date 2023-06-16
 * @Version 1.0.
 * @Description 销售单Mapper接口
 */
public interface GpOrderMapper extends BaseMapper<GpOrder> {

    /**
    * 列表
    * @param lqw
    * @return
    */
    List<GpOrderVo> listVo(@Param("ew") QueryWrapper<GpOrder> lqw);

    /**
     * 列表
     * @param gpOrderReq
     * @return
     */
    List<GpOrderVo> queryList(GpOrderReq gpOrderReq);

    /**
    * 对象
    * @param id
    * @return
    */
    GpOrderVo getVo(@Param("id")Long id);

    GpHomeStatisticsVo homeStatistics(@Param("ew") QueryWrapper<GpOrder> lqw);

    GpHomeStatisticsVo todayHomeStatistics(@Param("ew") QueryWrapper<GpOrder> lqw);

    List<GpOrderVo> overdueOrderList(GpOrderReq gpOrderReq);

    List<GpOrderVo> largeScreenList(String orderStatus);

    int getCount(@Param("ew") QueryWrapper<GpOrder> queryWrapper);

    Long getSubOrderId(Long id);

    List<GpOrderVo> listVoHistory(@Param("ew") QueryWrapper<GpOrder> lqw);

    Long getSubOrderHistoryId(Long id);

    int getCountHistory(@Param("ew") QueryWrapper<GpOrder> queryWrapper);
}
